#include <iostream>
#include <fstream>
#include <stdlib.h>
#include "funcionesHash.cpp"
//#include "PalabraClass.cpp"
#include "parseador.cpp"


using namespace std;

int** crearMatrizHashMin(int numeroDeDocs){
  
	int ** matrizHashMin = (int**) malloc (sizeof(int*)*FUNCIONES_HASH);
  
	for(int i=0; i< FUNCIONES_HASH; i++) {
     
		matrizHashMin[i]= (int *)malloc(sizeof(int)*numeroDeDocs);
    
		for(int j=0; j<numeroDeDocs; j++) {
      
			matrizHashMin[i][j]= MAXIMO;
		}
    
	}
  
  return matrizHashMin;
  
}

  
void modificarMatrizHashMin (int** matrizHM, int numDocumento, vector<Palabra> documento){
	int hashing = 0;
    for (unsigned int termino = 0; termino < documento.size(); termino++) {
    
		for (int fhash =0; fhash<FUNCIONES_HASH; fhash++) {
		  
		  hashing = hashingTermino(fhash,documento[termino].palabra, documento[termino].frec);
		  if (hashing == 0) cout << "cero " << fhash << " " << termino<< strlen(documento[termino].palabra) << endl;
		  /* verifico que el hashing sea menor que el que estaba en la matriz */
		 
		  if(matrizHM[fhash][numDocumento] > hashing) matrizHM[fhash][numDocumento] = hashing;
		  
		}
     }

}
